<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        let arr = [1, 1, 2, 2, 3, 3]

        // 1.ES6 Set去重 -- 利用了Set集合元素不可重复的特点
        let s = new Set(arr)
        console.log(s)
        var arr1 = Array.from(s)
        console.log('去重后数组', arr1)
        console.log('-----------------------')

        // 2.普通js去重
        let arr2 = []
        arr.forEach(item => {
            // if (!arr2.includes(item)) { //不包含就加入
            //     arr2.push(item)
            // }
            if (!arr2.indexOf(item) === -1) { //找不到下标就加入
                arr2.push(item)
            }
        })
        console.log('去重后数组', arr2)
        console.log('-----------------------')

        // 3.利用对象去重
        let obj = {}
        let arr3 = []
        for (let i = 0; i < arr.length; i++) {
            if (!obj[arr[i]]) { // 如果 键不存在 就代表数组元素不是重复元素
                //obj[arr[i]] = arr[i] //两种值的设置都可以
                obj[arr[i]] = true
                arr3.push(arr[i])
            }
        }
        console.log('去重后数组', arr3)
    </script>
</body>

</html>